package com.ruicar.afs.cloud.common.modules.dto.mq.loan;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

/**
 * <p>Description：车辆发票信息DTO</p>
 *
 * @author xueyu.ma
 * @version 1.0
 * @create 2020-6-15
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CarInvoiceInfoDTO {
    /**
     * 申请编号
     */
    @JSONField(name = "applyNo")
    private String applyNo;
    /**
     * 合同号
     */
    @JSONField(name = "contractNo")
    private String contractNo;
    /**
     * 车辆信息表主键ID
     */
    @JSONField(name = "carId")
    private Long carId;
    /**
     * 发票代码
     */
    @JSONField(name = "invoiceCode")
    private String invoiceCode;
    /**
     * 发票号码
     */
    @JSONField(name = "invoiceNumber")
    private String invoiceNumber;
    /**
     * 发票金额
     */
    @JSONField(name = "invoiceAmt")
    private BigDecimal invoiceAmt;
    /**
     * 发票校验码
     */
    @JSONField(name = "verifyNo")
    private String verifyNo;
    /**
     * 开票日期
     */
    @JSONField(name = "invoiceDate", format = "yyyy-MM-dd HH:mm:ss")
    private String invoiceDate;
    /**
     * 校验结果
     */
    @JSONField(name = "checkResult")
    private String checkResult;
    /**
     * 结果描述
     */
    @JSONField(name = "resultDescribe")
    private String resultDescribe;
    /**
     * 税率
     */
    @JSONField(name = "invoiceRate")
    private BigDecimal invoiceRate;
    /**
     * 开票单位
     */
    @JSONField(name = "makeInvoiceUnit")
    private String makeInvoiceUnit;
    /**
     * 发动机号
     */
    @JSONField(name = "engineNo")
    private String engineNo;
    /**
     * 车辆型号
     */
    @JSONField(name = "fullModelNum")
    private String fullModelNum;
    /**
     * VIN号
     */
    @JSONField(name = "carVin")
    private String carVin;
    /**
     * 纳税人识别号
     */
    @JSONField(name = "taxNumber")
    private String taxNumber;

    /**
     * 最低开票价格
     */
    @JSONField(name = "invoiceMinAmt")
    private BigDecimal invoiceMinAmt;
}
